#include "estructuras.h"
#include <time.h>

int main(int argc, char *argv[])
{
	srand(time(NULL));				/* Semilla para que que la funcion random pueda variar */
	char mensaje[120];
	int random = rand()%10 + 1;
	t_proveedor proveedor;
	m_kanbancompras msg_kcompras;
	int colaid;
	key_t clave_cola;
	/* Para la fecha */
	time_t now;
	struct tm *d = localtime(&now);;
	time(&now);
	char date[13];
	int count = 1;

	/* Obtengo la clave de la cola */
	clave_cola = ftok(DIRECTORIO, COLA_EXTERNA);

	if ( (colaid = msgget(clave_cola, 0666)) < 0 )								/* Obtengo el ID de la cola */
	{
		sprintf(mensaje, "Error al obtener el ID de la cola Externa\n");
		write(fileno(stdout), mensaje, strlen(mensaje));

		exit(-1);
	}

	printf("Espero copia de Kanban a Proveedor\n");
	printf("\n");

	/* Bucleo infinitamente esperando mensajes de los otros procesos */
	while(1)
	{
		if ( msgrcv(colaid, (m_kanbancompras *) &msg_kcompras, sizeof(m_kanbancompras), MSG_OCOMPRAS, 0) < 0 )
		{
			sprintf(mensaje, "Error al recibir el Kanban entre procesos con armado\n");
			write(fileno(stdout), mensaje, strlen(mensaje));

			exit(-1);
		}

		printf("%d\n", count);
		printf("+----------------------------------+\n");
		printf("| Recibi Copia de Kanban Proveedor |\n");
		printf("+----------------------------------+\n");
		printf("Cantidad: %d\n", msg_kcompras.cantidad);
		printf("Sector: %d\n", msg_kcompras.sector);
		printf("Estado: %d\n", msg_kcompras.entregada);
		printf("\n");
	
		count++;
	}

/*
    long proveedor;
    char razonSocial[50];
    char domicilio[150];
    char fecha[8];
    char tiempoEntrega[4];			
    int nroOrdenCompra;			 	
    int codPieza;
    char descripcion[25];
*/
	/* Envio la actualizacion de la tabla de proveedores */
	if ( random > 10 )
	{
		/* Genero un nuevo proveedor */
		proveedor.proveedor = 1234;			/* ID del Proveedor */
		strcpy(proveedor.razonSocial, "pepe");
		strcpy(proveedor.domicilio, "rlz!");

		strftime(&date, 15, "%d%m%Y", d);

	return 0;
	}

 return 0;
}
